#pragma once

namespace motsafe {
class Config
{
public:
    struct MotSafe
    {
        double tcp_linear_vel;
        double elbow_linear_vel;
        double clsn_torque;
        double moment;
        double power;
        double stop_dist;
        double stop_time;
    };
    struct MotSafeToolOri
    {
        bool is_open;
        bool is_auto;
        //TODO: add more
    };
    struct Collision
    {
        int rebound_type;
        int rebound_angle;
        int rebound_len;
        int rebound_vel;
        int rebound_acc;
        int rebound_joint_vel;
        int rebound_joint_acc;
        //TODO: add more
    };
    struct Safe
    {
        MotSafe normal;
        MotSafe reduce;
        MotSafeToolOri tool_ori;
    };

public:
    Config();
};
}  // namespace motsafe
